﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ERPStore.Cart.Repositories
{
	/// <summary>
	/// Stockage des données liées aux paniers
	/// </summary>
	public interface ICartRepository
	{
		/// <summary>
		/// Retourne un IQueryable des paniers
		/// </summary>
		/// <returns></returns>
		IQueryable<Datas.Cart> GetCartList();
		/// <summary>
		/// Sauvegarde le panier
		/// </summary>
		/// <param name="cart">The cart.</param>
		void Save(ERPStore.Models.OrderCart cart);
		/// <summary>
		/// Supprime un panier avec son Id
		/// </summary>
		/// <param name="cartId">The cart id.</param>
		void Remove(string cartId);
		/// <summary>
		/// Retourne la liste des derniers items aujoutés aux paniers de commande
		/// </summary>
		/// <param name="itemCount">The item count.</param>
		/// <returns></returns>
		IList<ERPStore.Models.CartItem> GetLastCartItem(int itemCount);
	}
}
